<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        console.log(...[1,2,3,4,5]);
        console.log([10,20,[...[1,2,3,4,5]]]);


        // let o1={id:11,name:"后羿"}
        // let o2={...o1}
        // console.log(o2)

        // function add(...a){
        //     console.log('收集到的函数参数是：',a);
        // }

        // add(1,2,3,4,5,6,7,8)

        // function arrow(v){
        //     return 10*v
        // }
        // let arrow=v=>10*v
        // let arrow=(v)=>{
        //     return 10*v
        // }
        // console.log(arrow(100));

    //     var lives=10000000000000000000;
    //     const cat={
    //         lives:9,
    //         // jumps:function(){
    //         //     return this.lives--;
    //         // }
    //         jumps:()=>{
    //             console.log(this)
    //         return this.lives--
    //         }
    //     }
    //     console.log(cat.jumps())


    //     var age=10;
    //     let obj={
    //         age:20,
    //         info:function(){
    //             return()=>{
    //                 console.log(this.age)
    //                 console.log(this)
    //             }
    //         }
    //     }

    //     let info=obj.info()
    //     info()

    //     let person={
    //         age:30
    //     }

    // function foo(){
    //     id:80,
    //     setTimeout(()=>{
    //         console.log("id:",this.id);
    //         console.log(this)
    //     },100);
    // }




    // var id=100;
    // foo({id:50})
    // foo.bind({id:50})(this)


    // function fn(x){
    //     console.log("hello"+x)
    // }
    // function fn1(y){
    //     return fn(y)
    // }

    // fn1("jack")







    // console.log(...[1,2,3,4,5])
    // console.log([10,20,[...[1,2,3,4,5]]])

    // let o1={id:11,name:"后羿"}
    // let o2={...o1}
    // console.log(o2);

    // function add(...a){
    //     console.log('收集到的函数参数是：',a)
    // }

    // add(1,2,3,34,4,5)
    // let arrow=(v)=>{
    //     return 10*v
    // }
    // console.log(arrow(100))


    // var lives=100;
    // const cat={
    //     lives:9,
    //     // jumps:function(){
    //     //     return this.lives--;
    //     // }
    //     jumps:()=>{
    //         console.log(this)
    //         return this.lives--
    //     }
    // }
    // console.log(cat.jumps())



    // let s1=Symbol("张小虎");
    // let s2=Symbol("张小虎");
    // let s3=Symbol("张小虎");

    // console.log(s1==s2);
    // console.log(s3==s2);

    // let obj={
    //     id:10,
    //     name:"张小虎",
    //     [s1]:"小龙1",
    //     [s2]:"小龙2",
    // }
    // console.log(obj);

    // console.log(Object.keys(obj));

    // console.log(Object.getOwnPropertySymbols(obj))
    // console.log(Object.getOwnPropertyNames(obj))
    // console.log([...Object.getOwnPropertyNames(obj),...Object.getOwnPropertySymbols(obj)]);
    // console.log(Reflect.ownKeys(obj));




    // let s1=Symbol("张小虎");
    // let s2=Symbol("张小虎");
    // let s3=Symbol("张小虎");


    // console.log(s1==s2)
    // console.log(s3==s2)

    // let obj={
    //     id:10,
    //     name:"张小龙",
    //     [s1]:"小龙1",
    //     [s2]:"小龙2",
    // }
    // console.log(obj);

    // console.log(Object.keys(obj));

    // console.log(Object.getOwnPropertySymbols(obj))
    // console.log(Object.getOwnPropertyNames(obj))
    // console.log([...Object.getOwnPropertyNames(obj),...Object.getOwnPropertySymbols(obj)]);
    // console.log(Reflect.ownKeys(obj));


    // let s=new Set([1,2,3,4,5,])
    // console.log(s)

    // let arr=[1,2,23,3,45,6]

    // let arr2=Array.from(new Set(arr))
    // console.log(arr2)
    // let arr3=[...new Set(arr)]
    // console.log(arr3)

    // console.log(s[0])
    // for(const k of s){
    //     console.log(k)
    // }

    // console.log(s.size)

    // console.log(s.add(10))
    // console.log(s.delete(2))
    // console.log(s.has(3))
    // console.log(s.clear())


    // function unique(arr){
    //     return Array.from(new Set(arr))
    // }
    // function unique2(arr){
    //     return [...new Set(arr)]
    // }
    // console.log(unique(arr))
    // console.log(unique2(arr))

    // let userInfo=[
    //     {id:1,name:"鲁班",work:"射手"},
    //     {id:2,name:"澜",work:"打野"},
    //     {id:3,name:"庄羽",work:"辅助"}
    // ]

    // userInfo=[...new Set(userInfo.map(item=> JSON.stringify(item)))]

    // userInfo=userInfo.map(item=>JSON.parse(item))
    // console.log(userInfo)

    // let u1=['刘德华','张学友','郭富城','黎明','王中王星爷']
    // let u2=['周杰伦','周润发','谢霆锋','成龙']

    // let res=[...new Set([...u1,...u2])]
    // console.log(res)
    // let s2=new Set(u1)
    // let j=u2.filter(item=>{
    //     if(s2.has(item)){
    //         return item
    //     }
    // })

    // console.log(j)

    // let c=u2.filter(item=>{
    //     if(!s2.has(item)){
    //         return item
    //     }
    // })

    // console.log(c)


    // let s=new Set([1,2,3,4,5])
    // console.log(s)

    // let arr=[1,2,3,4,5,6,6]

    // let arr2=Array.from(new Set(arr))
    // console.log(arr2)
    // let arr3=[...new Set(arr)]
    // console.log(arr3)

    console.log(s[0])
    console
    for(const key in arr){
        console.log(arr[key])
    }

    for(const k of s){
        console.log(k)
    }

    console.log(s.size)
    console.log(s.add(10))
    console.log(s.delete(2))
    console.log(s.has(3))
    console.log(s.clear())



    

    
    </script>
</body>
</html>